Mots-clés d'affectations
Les descriptions de mot-clé suivantes incluent une brève description de la fonction du mot-clé, les types d'éléments que le mot-clé affecte (le cas échéant), les types de données admises (le cas échéant) ainsi qu'un exemple d'utilisation du mot-clé. La section qui suit les mots-clés d'affectations explique comment indiquer la couleur dans une instruction d'affectation.
area_fill
Pour les traceurs qui permettent le remplissage par polygone, s'il est réglé sur vrai, le mot-clé area_fill trace les éléments fermés comme étant remplis. Définir les mots-clés d'affectations fill_color ou _pattern implique de régler area_fill sur vrai. Le mot-clé area_fill peut servir à tracer des éléments qui sinon seraient tracés remplis comme contours. N'importe quel élément fermé (hormis texte) peut être géré avec ce mot-clé, y compris les courbes b-spline fermées, les formes complexes, les ellipses et les formes.
Syntaxe :
area_fill = true area_fill = false
Exemple :
! ! Remplissez toutes les formes avec une surface. ! if (type == shape) then area_fill = true endif
boundary_color
Le mot-clé boundary_color permet d'indiquer la couleur de limite d'un polygone rempli avec une surface ou avec un motif. Boundary_color affecte uniquement les éléments remplis dont boundary_display est réglé sur vrai. Pour une explication détaillée de la procédure d'indication de couleur, voir « Indiquer la couleur dans les instructions d'affectation » à la fin de cette section.
Syntaxe :
boundary_color = integer
(sachant que l'entier est un indice de couleur compris entre 0 et 255)
boundary_color = "string"
(sachant que la chaîne est un nom issu d'une bibliothèque de couleurs)
boundary_color = (R,G,B)
(sachant que RGB est compris dans l'intervalle 0 à 255)
Exemple :
! ! Set boundary_color and boundary_display for ! shapes on level 7. ! if ((type == shape) and (level == 7)) then area_fill = true color = 'blue' boundary_display = true boundary_color = 'red' endif
boundary_display
Pour les éléments qui sont remplis dans le fichier de conception ou ayant le mot-clé area_fill dans le script de conception, le mot-clé boundary_display indique si la limite d'un polygone rempli est tracée. Le mot-clé boundary_display n'a aucun effet sur les éléments qui ne sont pas remplis.
Remarque : Régler boundary_display sur vrai pour le texte rempli risque de produire des résultats indésirables.
Syntaxe :
boundary_display = true boundary_display = false
Exemple :
! ! Set boundary_color and boundary_display for ! shapes on level 7. ! if ((type == shape) and (level == 7)) then area_fill = true color = 'blue' boundary_display = true boundary_color = 'red' endif
case_sensitive
Le mot-clé case_sensitive détermine si la casse des lettres est importante dans les comparaisons de chaînes effectuées à l'aide du mot-clé de comparaison de caractères. La valeur par défaut est Faux.
Syntaxe :
case_sensitive = true case_sensitive = false
Exemple :
! !Remplacez les éléments de texte ayant !les caractères "TITLE" par tout en majuscules et !remplacez "Title" par un titre avec la première lettre en majuscules. ! case_sensitive = true if (characters == "TITLE") then characters = "FIRST FLOOR DESIGN" else if (characters == "Title") then characters = "First Floor Design" endif
characters
Le mot-clé characters permet de remplacer une chaîne dans un élément de texte par une nouvelle chaîne. En mettant dans votre fichier de conception des éléments texte destinés à servir de repères, vous pouvez par la suite remplacer ces chaînes par des informations utiles telles que la date où le fichier a été tracé ou le nom du fichier de conception. Si la nouvelle chaîne est plus courte que la chaîne initiale, elle est comblée par des espaces. Si la nouvelle chaîne est plus longue, la chaîne initiale s'allonge pour accueillir les caractères supplémentaires.
Le texte de remplacement peut prendre la valeur de divers jetons :
- Une chaîne de texte littérale
- Mots-clés de définition d'impression figurant dans le tableau ci-dessous
- La valeur de variables d'environnement conjointement à du texte littéral
- Jeton <expr?name=...> pour faire référence à une expression nommée
- Le mot-clé envr_value
Les mots-clés suivants représentent les valeurs de la définition d'impression qui permet de libeller un tracé.
Mot-clé |
Valeur |
---|---|
am_pm |
Heure : am ou pm. (exemple : AM) |
date |
Date à laquelle a lieu le traitement de l'impression d'un aperçu ou d'une copie. (Exemple : 05-APR-1996) |
day_abbreviation |
Abréviation du jour à trois caractères. (exemple : ven) |
day_name |
Nom complet du jour. (exemple : vendredi) |
day_number |
Jour au format numérique. (Exemple : 05) |
dgnspec |
Spécification du fichier de conception principal. (exemple : C:\MONPROJ\E1.DGN) |
hour |
Heure de l'impression d'un aperçu ou d'une copie. (Exemple : 11) |
hour_12 |
Numéro d'heure exprimé sur un cycle de 12 heures. (Exemple : 05) |
hour_24 |
Numéro d'heure exprimé sur un cycle de 24 heures. (Exemple : 17) |
ip_color_table |
Chaîne de table de couleurs stockée dans le fichier de conception. (exemple : C:\MISC\COLOR.CTB) |
ip_design |
Nom du fichier de conception. (exemple : C:\MONPROJ\PLAN.DGN) |
ip_design_script |
Nom du script de conception associé à la tâche de tracé. Renvoie un vide si le fichier est une table d'objet. |
ip_feature_table |
Nom de la table d'objet associée à la tâche de tracé. Renvoie un vide si le fichier est un script de conception. |
ip_logical_name |
Nom logique de référence de l'élément actuel. (exemple : C:\PROJ\BORDURE.DGN) |
ip_mirror |
Spécifications de symétrie stockées dans la définition d'impression. Les valeurs acceptées sont les suivantes : X, Y, BOTH ou NONE. |
ip_model |
Modèle désigné dans la définition d'impression. (Exemple : sheetone) |
ip_origin |
Origine X et Y en unités indiquées par le mot-clé ip_units. (exemple : 1.500000,2.000000) |
ip_origin_x |
Origine X en unités définies par ip_units. (exemple : 1.500000) |
ip_origin_y |
Origine Y en unités définies par ip_units. (exemple : 5.000000) |
ip_pen_table |
Nom du script de conception associé à la tâche de tracé. |
ip_plot_rescale |
Valeurs X et Y de remise à l'échelle du tracé de la définition d'impression. (exemple : 3.000000,2.000000) |
ip_plot_rescale_x |
Valeur X de remise à l'échelle du tracé de la définition d'impression. (exemple : 3.000000) |
ip_plot_rescale_y |
Valeur Y de remise à l'échelle du tracé de la définition d'impression. (exemple : 2.000000) |
ip_project |
Projet désigné dans la définition d'impression. (exemple : Baldwinsville) |
ip_queue |
Renvoie le nom de l'imprimante système Windows, le cas échéant ; sinon, renvoie une chaîne vide. |
ip_ref_filename |
Spécification complète de fichier de référence de l'élément actuel. (exemple : C:\PROJ\ETAGE.DGN) |
ip_rotation |
Rotation du tracé spécifié comme angle en degrés de 0 à 360. (exemple : 45.000000) |
ip_scale |
Échelle du tracé au format indiqué par MS_PLT_SCALE_METHOD. Renvoie en outre la même valeur que la variable comptable MS_PLTSCALE_SHORT. (exemple : 4.000000:1.000000) |
ip_short_color_table |
Nom de la table des couleurs sans le répertoire. (exemple : COULEURS.TBL) |
ip_short_design |
Nom du fichier principal sans le nom du répertoire. (exemple : ETAGE27.DGN) |
ip_short_design_script |
Nom du script de conception sans le répertoire. (exemple : STANDARD.PEN) |
ip_short_pen_table |
Nom du script de conception sans le répertoire. (exemple : STANDARD.PEN) |
ip_short_feature_table |
Nom de la table d'objet sans le répertoire. (exemple : DECATUR.FTB) |
ip_short_ref_filename |
Nom du fichier de référence de l'élément actuel sans le dossier. (exemple : ETAGE.DGN) |
ip_short_scale |
Renvoie la même valeur que ip_scale. |
ip_units |
Unités définies pour les valeurs telles que la taille et l'origine. (Exemple : inches) |
ip_view |
Nom ou numéro de la vue. (Exemple : 2) |
ip_viewgroup |
Groupe de vues actuel. (Exemple : Vues sheetone) |
ip_workspace |
Nom de l'espace de travail actif, par exemple Example. |
ip_workset |
Nom du WorkSet actif, par exemple Civil. |
ip_xsize |
Taille en X du tracé en unités définies par ip_units. (exemple : 34.000000) |
ip_xysize |
Taille en X et Y du tracé en unités définies par ip_units. (exemple : 34.000000, 44.000000) |
ip_ysize |
Taille en Y du tracé en unités définies par ip_units. (exemple : 75.000000) |
long_date |
Date au format long. (exemple : vendredi 5 avril 1996) |
long_time |
Heure d'impression d'un aperçu ou d'une copie au format long. (Exemple : 11:59:17 PM) |
minute |
Minute à laquelle a lieu le traitement de l'impression d'un aperçu ou d'une copie. (Exemple : 59) |
month_abbreviation |
Abréviation du mois sur trois caractères. (exemple : avr) |
month_name |
Nom complet du mois. (exemple : avril) |
month_number |
Numéro du mois. (Exemple : 04) |
ms_pen_table |
Nom de la table de plumes associée à la tâche de tracé. Si aucune table de plumes n'est définie, une chaîne vide est renvoyée. (exemple : C:\PROJ\E5.TBL) |
ms_pltcfg_file |
Spécification du fichier de configuration du pilote d'imprimante. (Exemple : ..\Default\pltcfg\pdf.pltcfg ). |
ms_short_pltcfg_file |
Fichier de configuration du pilote d’imprimante sans le répertoire. (exemple : PDF.PLTCFG) |
ms_short_pen_table |
Nom de la table de plumes sans le répertoire. (exemple : DECATUR.TBL) |
page_number |
Numéro d'ordre de la définition d'impression dans l'ensemble d'impression pendant qu'elle est dans l'Organisateur d'impression. (Exemple : 1) Si vous utilisez les définitions d'impression variables, consultez les Consignes d'utilisation des jetons de pagination et de nombre total de pages avec les définitions d'impression variables. Numéro de séquence du tracé dans le document. |
plan_set_name |
Spécification de fichier pour le nom d'ensemble d'impression. (exemple : C:\plans\monplan.pset) |
plan_set_short_name |
Nom de l'ensemble d'impression sans le nom de dossier. (Exemple : myplan.pset) |
plot_name |
Nom de la définition d'impression à l'intérieur de la boîte de dialogue Imprimer ou de l'Organiseur d'impression. (Exemple : border) Nom du tracé. |
second |
Nombre de secondes. (Exemple : 17) |
short_date |
Date au format numérique. (Exemple : 04/05/96) |
short_time |
Heure au format court. (Exemple : 11:59) |
short_year |
Année sur deux chiffres. (Exemple : 96) |
sytime |
Date et heure système de l'impression d'un aperçu ou d'une copie. (Exemple : 5-APR-1996 09:47) |
heure |
Heure à laquelle a lieu le traitement de l'impression d'un aperçu ou d'une copie. (Exemple : 09:47) |
total_pages |
Nombre total de définitions d'impression dans l'ensemble d'impression. (Exemple : 5) Si vous utilisez les définitions d'impression variables, consultez les Consignes d'utilisation des jetons de pagination et de nombre total de pages avec les définitions d'impression variables. Nombre total de tracés dans le document. |
username |
Nom de l'utilisateur qui a effectué l'aperçu ou l'impression. (Exemple : jdoe) |
year |
Année de l'impression d'un aperçu ou d'une copie, sur quatre chiffres. (Exemple : 1996) |
Syntaxe :
characters = "string"
(sachant que la chaîne est une chaîne ou un mot-clé valides quelconques décrits dans le tableau précédent)
Exemple 1 :
! ! Remplacez "preliminary" par "final" pour le texte sur ! le niveau 10. ! if (characters eq "preliminary" and type==text and level==10) then characters = "final" endif
Exemple 2 :
! Remplacez la chaîne de texte "PAGE" par ! une nouvelle chaîne qui contient le nombre de pages réel ! et le nombre total de feuilles de l'ensemble. if (characters == "PAGE") then characters = PAGE_NUMBER + "of" + TOTAL_PAGES endif
Exemple 3 :
! ! Remplacez la chaîne "Project Number" par ! le numéro de projet réel stocké dans ! la variable d'environnement PROJECT_NUM. ! if (characters == "Project Number") then envr_variable = "PROJECT_NUM" characters = envr_value endif
Exemple 4 :
! Remplacez le nom de la file d'attente de la définition d'impression par ! la chaîne de texte "$$queue$$." ! if ((type == text) and (characters == '$$queue$$')) then characters = ip_queue endif
Exemple 5 :
! Substituer le nom d'utilisateur Windows pour la chaîne de texte ! "$USER$" et inclure une chaîne de texte litéralle ! dans la chaîne de remplacement. if ((type == text) and (characters == "$USER$")) then characters = "User:$(USERNAME)" endif
Exemple 6 :
! Remplacez la valeur de l'expression nommée ! _Author par la chaîne de texte $AUTHOR$. if ((type == text) and (characters == "$AUTHOR$")) then characters = "<expr?name=_Author>" endif
classe
Le mot-clé class change la classe d'un élément. L'élément ne sera pas tracé si la nouvelle classe a été désactivée dans la définition d'impression ou par l'indicateur d'affichage MicroStation équivalent.
Syntaxe :
class = integer
(sachant que l'entier est compris dans l'intervalle 0 à 6)
class = constant
sachant que la constante est l'une des options suivantes :
0 principal |
1 composant_modèle |
2 construction |
3 dimension |
4 règle_principale |
5 modèle_linéaire |
6 règle_construction |
Exemple :
! ! Modifiez les éléments de la classe de construction du niveau 5 ! en éléments de la classe principale. if ((class == construction) and (level == 5)) then class = primary endif
cls_end_width
Le mot-clé cls_end_width définit la largeur de fin, en unités du fichier de conception principal, du style de trait personnalisé associé à l'élément actuel. Si la même valeur est indiquée pour cls_origin_width et cls_end_width, la largeur des "tirets" du style de trait rétrécit ou augmente uniformément. Si des valeurs différentes sont définies pour ces deux mots-clés, les tirets s'effilent du début à la fin de l'élément.
La largeur est une propriété facultative de chaque tiret dans un style de trait personnalisé. Ce mot-clé n'a aucun effet sur les tirets de style de trait qui n'ont pas la largeur comme propriété.
Syntaxe :
cls_end_width = real number
Exemple :
! ! Modifiez la largeur des traits larges dans ! le style de trait "{ Wide Dash }" en 2 unités de conception principales !. ! if (cls_name == '{ Wide Dash }') then cls_origin_width = 2.0 cls_end_width = 2.0 endif
cls_name
Le mot-clé cls_name affecte un style de trait personnalisé à l'élément actuel. Le fichier de ressources de styles de trait employé sur le serveur de tracé doit contenir le style de trait.
Syntaxe :
cls_name = string
Exemple :
! ! Affecter le style de trait personnalisé ! "{ Diamond } à tous les éléments utilisant le code de ligne 3. ! if (style == 3) then cls_name = '{ Diamond }' endif
cls_origin_width
Le mot-clé cls_origin_width définit la largeur de début, en unités du fichier de conception principal, du style de trait personnalisé associé à l'élément actuel. Si la même valeur est indiquée pour cls_origin_width et cls_end_width, la largeur des "tirets" du style de trait rétrécit ou augmente uniformément. Si des valeurs différentes sont définies pour ces deux mots-clés, les tirets s'effilent du début à la fin de l'élément.
La largeur est une propriété facultative de chaque tiret dans un style de trait personnalisé. Ce mot-clé n'a aucun effet sur les tirets de style de trait qui n'ont pas la largeur comme propriété.
Syntaxe :
cls_origin_width = real number
Exemple :
! ! Modifiez la largeur des traits larges ! dans le style de trait "{ Wide Dash }" en 2 unités de conception principales !. ! if (cls_name == '{ Wide Dash }') then cls_origin_width = 2.0 cls_end_width = 2.0 endif
cls_scale
Le mot-clé cls_scale met à l'échelle le style de trait personnalisé associé à l'élément actuel.
Syntaxe :
cls_scale = real number
Exemple :
! ! Mettez tous les styles de trait à l'échelle avec un facteur de 1/2. ! if (cls_name .ne. 'none') then cls_scale = 0.5 endif
cls_shift_distance
Le mot-clé cls_shift_distance décale le style de trait personnalisé associé à l'élément actuel. La distance de décalage est indiquée en unités du fichier de conception principal.
Syntaxe :
cls_shift_distance = real number
Exemple :
! ! Décalez l'origine du style de trait d'1 unité de conception maître !. ! if (cls_name == '{Batten}') then cls_shift_distance = 1.0 endif
cls_shift_fraction
Le mot-clé cls_shift_cls_shift_fraction décale le style de trait personnalisé associé à l'élément actuel.
Syntaxe :
cls_shift_fraction = real number
Exemple :
! ! Décalez le style de trait personnalisé d'1/2 de la ! longueur du modèle. ! if (cls_name .ne. 'none') then cls_shift_fraction = 0.5 endif
color
Le mot-clé color change la couleur actuelle des éléments non remplis. Affecter une valeur au mot-clé color change également la couleur de limite, de remplissage, et d'avant-plan de motif des polygones fermés si ces valeurs n'ont pas été spécifiquement définies avec les mots clés boundary_color, fill_color et pattern_color. Pour une explication détaillée de la procédure d'indication de couleur, voir « Indiquer la couleur dans les instructions d'affectation » à la fin de cette section.
Remarque : Si une couleur nommée ou RVB est utilisée, la couleur utilisée pour le mot-clé de comparaison de couleur n'est pas modifiée.
Syntaxe :
color = integer
(sachant que l'entier est un indice de couleur compris entre 0 et 255)
color = "string"
(sachant que la chaîne est un nom de couleur issu d'une bibliothèque de couleurs)
color= (R, G, B)
(sachant que RGB est compris dans l'intervalle 0 à 255)
Exemple :
! ! Modifiez la couleur des lignes, des chaînes et des courbes en utilisant ! les diverses méthodes pour définir la couleur. ! if (type eq line) then color = 1 ! Régler la couleur sur la valeur d'indice 1. else if (type == line_string) then color = 'blue' ! Définissez la couleur sur bleu. else if (type == curve) then color = (0,0,255) ! Définissez la couleur à la valeur RVB 0,0,255. endif
endcap
Le mot-clé endcap gère l'affichage des points d'extrémité des éléments non fermés. Endcap propose les options d'affichage suivantes :
- extend (prolonger) : également rectangulaire, mais prolongé d'une moitié de la largeur de ligne au-delà de l'extrémité de la ligne ou courbe.
Syntaxe :
endcap = endcap_type
(sachant que endcap_type est butt, extend ou circle)
Exemple :
! ! Spécifiez le type endcap en fonction du type de l'élément !. ! if (type == line) then endcap = butt else if (type == line_string) then endcap = extend else if (type == arc) then endcap = circle endif
envr_value
Le mot-clé d'affectation envr_value règle le mot-clé envr_variable sur la chaîne indiquée. Cette paire envr_variable = value est ensuite transcrite dans le fichier comptable et peut également servir de données d'attributs dans une archive numérique.
Syntaxe :
envr_value=string
Exemple 1 :
! ! Ce script de conception définit un attribut de feuille de tracé ! d'après les caractères stockés dans les éléments texte ! du fichier de conception. Les critères pour déterminer quel !texte contient les caractères appropriés est !basé sur les indicateurs MicroSation. tag_set='dpr' tag_name='sheet' if ((type eq text) and (tag_character eq 'drawingno'))then envr_variable = "Drawingno" envr_value = characters else if ((type eq text) and (tag_character eq 'title')) then envr_variable = "Title" envr_value = characters else if ((type eq text) and (tag_character eq 'sheetno')) then envr_variable = "Sheetno" envr_value = characters endif
Exemple 2 :
! ! Ce script de conception définit un attribut de feuille de tracé ! d'après les caractères stockés dans les éléments texte ! du fichier de conception. Le critère servant à déterminer quel texte ! contient les caractères adéquats ! repose sur le niveau. if ((type eq text) and (level eq 2)) then envr_variable = "Account" envr_value = characters else if ((type eq text) and (level eq 4)) then envr_variable = "Project" envr_value = characters else if ((type eq text) and (level eq 6)) then envr_variable = "Revision" envr_value = characters endif
envr_value_num
Vous pouvez définir la valeur d'envr_variable avec un nombre réel à l'aide du mot-clé envr_value_num. Envr_value et envr_value_num sont interchangeables au sein du même script de conception. Par exemple, si vous attribuez à envr_value la valeur de chaîne "4", envr_value_num est automatiquement réglé sur le nombre réel 4. Ceci vous permet d'extraire une chaîne dans un fichier de conception (par exemple un numéro de page), de la convertir en nombre réel afin que puissiez augmenter sa valeur de 1, puis de la réafficher comme chaîne. L'exemple de script de conception suivant illustre cette procédure.
La paire envr_variable = value est également transcrite dans le fichier comptable et peut également servir de données d'attributs dans une archive numérique.
Syntaxe :
envr_value_num = real
(sachant que réel peut être n'importe quel nombre réel)
Exemple :
! Le script de conception suivant augmente de 1 le numéro de page du bloc de titre. Le numéro de page ! est une chaîne texte de niveau 5. ! envr_variable = "pagenum" if ((type eq text) and (level eq 5)) then envr_value = characters envr_value_num = envr_value_num + 1 characters = envr_value endif
envr_variable
Le mot-clé d'affectation envr_variable sélectionne la variable d'environnement de définition d'impression que vous voulez utiliser dans le script de conception. Les mots-clés de comparaison envr_value et envr_value_num permettent de vérifier la valeur de la variable.
Remarque : Les noms de variable d'environnement doivent commencer par une lettre, ne peuvent contenir que des lettres, des chiffres et des traits de soulignement, et ne peuvent contenir d'espaces.
Syntaxe :
envr_variable = string
Exemple :
! !Si SKIP_TEXT est défini (comme quoi que ce soit, par exemple !"iplot mod MY_IPARM -environment = [SKIP_TEXT=1]") !dans l'environnement IPARM, ignorez les éléments text et !text_node. ! envr_variable = "SKIP_TEXT" if (envr_value <> "") then if (type .IN. text, text_node) then ignore = true endif endif
fill_color
Le mot-clé fill_color définit la couleur de remplissage des polygones remplis avec une surface. Il désigne également la couleur d'arrière-plan des éléments à motif. Utiliser ce mot-clé active automatiquement area_fill. La couleur de remplissage par défaut d'un élément est sa couleur d'élément. L'arrière-plan de motif est transparent par défaut. Pour une explication détaillée de la procédure d'indication de couleur, voir « Indiquer la couleur dans les instructions d'affectation » à la fin de cette section.
Syntaxe :
fill_color = integer
(sachant que l'entier est un indice de couleur compris entre 0 et 255)
fill_color = "string"
(sachant que la chaîne est un nom de couleur issu d'une bibliothèque de couleurs)
fill_color = (R,G,B)
(sachant que RGB est compris dans l'intervalle 0 à 255)
Exemple :
! ! Définissez la couleur de remplissage pour les formes, les formes complexes ! et les ellipses. ! if (type == shape) then fill_color = 5 else if (type == complex_shape) then fill_color = 'blue' else if (type == ellipse) then fill_color = (0,0,255) endif
police
Le mot-clé font définit le numéro de police des éléments texte.
Syntaxe :
font = integer
(sachant que l'entier est compris dans l'intervalle 0 à 255)
Exemple :
! ! Modifiez la police pour certaines chaînes de texte. ! if ((type == text) and (font == 1)) then font = 2 else if ((type == text) and (font == 3)) then font = 7 endif
font_name
Le mot-clé font_name définit le numéro de police des éléments texte.
Syntaxe :
font_name = string
(sachant que la chaîne est le nom de police du fichier de ressources symbologiques.)
Exemple :
! ! Modifiez le nom de la police pour certaines chaînes de texte. ! if ((type == text) and (font == 1)) then font_name = "Architectural" else if ((type == text) and (font == 3)) then font_name = "FONT060" endif
ignore_element
Le mot-clé ignore_element détermine si l'élément est tracé. Si ce mot-clé est réglé sur vrai, l'élément actuel n'est pas tracé.
Syntaxe :
ignore_element = true ignore_element = false
Exemple :
! ! Ne pas tracer les élements texte du niveau 63. ! if ((type == text) and (level == 63)) then ignore_element = true endif
midline_joint
Le mot-clé midline_joint gère l'affichage des raccordements à la fois des éléments non remplis et remplis. Si boundary_display est désactivé pour un élément rempli, définir le mot-clé midline_joint n'a aucun effet. Dans la liste suivante figure les options de ce mot-clé :
miter (onglet) |
les arêtes correspondantes de deux segments se prolongent jusqu'à leur point d'intersection (valeur par défaut). |
bevel (chanfrein) |
semblable à onglet, hormis que les segments se terminent par des raccords d'extrémité ajustés. |
butt (ajusté) |
l'extrémité de chaque segment s'affiche avec un raccordement rectangulaire. |
prolonger |
similaire à ajusté, hormis que chaque segment est prolongé de la moitié de sa largeur. |
Cercle |
affiche un demi-cercle à la fin de chaque segment. |
Syntaxe :
midline_joint = midline_joint_type
(sachant que midline_joint_type est "butt", "bevel", "extend", "circle", ou "miter")
Exemple :
! ! Définissez midline_joint en fonction du numéro d'attachement du fichier de référence !. ! if (file == 0) then ! Tester les éléments du fichier maître. midline_joint = butt else if (file == 1) then ! Tester les éléments du premier fichier de référence. midline_joint = extend else if(file == 2)then ! Tester les éléments du deuxième fichier de référence. midline_joint = circle else if(file == 3)then ! Tester les éléments du troisième fichier de référence. midline_joint = miter endif
pen
Le mot-clé pen sélectionne la plume sur un traceur. Définir ce mot-clé équivaut à définir la couleur de l'élément actuel, hormis que le numéro de plume est égal au numéro de couleur plus 1.
Syntaxe :
pen = integer
(sachant que l'entier est compris dans l'intervalle 1 à 256)
Exemple :
! ! Définir le numéro de plume d'après le niveau de l'élément. if (level == 1) then pen = 1 else if (level == 2) then pen = 2 else if (level == 3) then pen = 3 endif
pen_width_nn
(Où nn est une valeur comprise entre 0 et 31)
Les mots-clés pen_width_nn affectent les largeurs de ligne d'impression (épaisseur physique) dans les unités de script de conception aux 32 épaisseurs standard de produit. Ces mots-clés d'affectation de script de conception remplacent les correspondances épaisseur/largeur définies dans le fichier de configuration du pilote d'imprimante (.pltcfg) et sont équivalents aux correspondances épaisseur/largeur qui peuvent être définies dans une table de plumes. Ces mots-clés se comportent d'une manière semblable aux mots-clés weight_base/weight_delta, mais les mots-clés pen_width_nn permettent d'assigner chaque épaisseur indépendamment.
! ! Spécifiez les correspondances largeur / épaisseur en fonction de la taille du papier. ! units = mm if (first_time) then if (ip_xsize_num > 17) then pen_width_00 = 0.169 pen_width_01 = 0.375 pen_width_02 = 0.5 pen_width_03 = 0.625 pen_width_04 = 0.75 pen_width_05 = 0.875 pen_width_06 = 1 pen_width_07 = 1.125 pen_width_08 = 1.25 pen_width_09 = 1.375 pen_width_10 = 1.5 pen_width_11 = 1.625 pen_width_12 = 1.75 pen_width_13 = 1.875 pen_width_14 = 2 pen_width_15 = 2.125 pen_width_16 = 2.25 pen_width_17 = 2.375 pen_width_18 = 2.5 pen_width_19 = 2.625 pen_width_20 = 2.75 pen_width_21 = 2.875 pen_width_22 = 3 pen_width_23 = 3.125 pen_width_24 = 3.25 pen_width_25 = 3.375 pen_width_26 = 3.5 pen_width_27 = 3.625 pen_width_28 = 3.75 pen_width_29 = 3.875 pen_width_30 = 4 pen_width_31 = 4.125 else pen_width_00 = 0.12675 pen_width_01 = 0.28125 pen_width_02 = 0.375 pen_width_03 = 0.46875 pen_width_04 = 0.5625 pen_width_05 = 0.65625 pen_width_06 = 0.75 pen_width_07 = 0.84375 pen_width_08 = 0.9375 pen_width_09 = 1.03125 pen_width_10 = 1.125 pen_width_11 = 1.21875 pen_width_12 = 1.3125 pen_width_13 = 1.40625 pen_width_14 = 1.5 pen_width_15 = 1.59375 pen_width_16 = 1.6875 pen_width_17 = 1.78125 pen_width_18 = 1.875 pen_width_19 = 1.96875 pen_width_20 = 2.0625 pen_width_21 = 2.15625 pen_width_22 = 2.25 pen_width_23 = 2.34375 pen_width_24 = 2.4375 pen_width_25 = 2.53125 pen_width_26 = 2.625 pen_width_27 = 2.71875 pen_width_28 = 2.8125 pen_width_29 = 2.90625 pen_width_30 = 3 pen_width_31 = 3.09375 endif endif
priority
Le mot-clé priority modifie l'ordre dans lequel les éléments sont tracés. Par défaut, les éléments sont tracés dans l'ordre où ils apparaissent dans le fichier de conception. Avec le mot-clé priorité, les éléments de faible priorité sont tracés avant les éléments de priorité plus élevée afin que ces derniers soient tracés au-dessus des éléments de faible priorité. Ceci peut être pratique quand on trace des éléments remplis avec une surface. Par exemple, si vous voulez qu'une chaîne de texte se trace à l'intérieur d'un polygone rempli, le texte doit avoir une priorité supérieure au polygone afin que le texte ne soit pas couvert. La priorité par défaut d'un élément est 0.
Il est important de noter que les éléments sans priorité sont imprimés d'abord, les éléments ayant une priorité étant imprimés ensuite, en fonction de leur priorité ; par conséquent, il se peut que les tables de plumes ayant une priorité négative pour "repousser les éléments en dessous" nécessitent une modification.
Remarque : Le mot-clé priorité n'est pas valable pour les éléments remplis se traçant sur un dispositif vectoriel. Le mot-clé priorité supplante l'ordre qu'implique les séquences de mise à jour d'affichage.
Syntaxe :
priority = integer
(sachant que l'entier est compris dans l'intervalle -1 000 000 à 1 000 000)
Exemple :
! ! Définissez la priorité des éléments en fonction de leur couleur. if (type == shape) then area_fill = true if (color == 1) then priority = 10 else if (type == text) then !Plot text on top of the shapes. priority = 20 endif endif
échelle
Le mot-clé échelle indique un facteur d'échelle qui est appliqué aux éléments ayant une origine locale tels que les cellules (normales et partagées), les arcs, les ellipses, le texte et les nœuds de texte. Le texte et les noeuds de texte sont mis à l'échelle autour de leur point de justification. L'échelle par défaut est 1,0.
Syntaxe :
scale = real
(sachant que réel peut être n'importe quel nombre réel positif)
Exemple :
! ! Mettez le texte à l'échelle avec un facteur de 1,5. ! if (type == text) then scale = 1.5 endif
screen_relative
Le mot-clé screen_relative permet de modifier le bit screen_relative dans le mot des propriétés de l'élément courant. MicroStation se réfère à l'écran en tant que "vue indépendante".
Syntaxe :
screen_relative = true screen_relative = false
Exemple :
! ! Si l'élément est une cellule nommée 'LOGO', définissez le bit relatif de l'écran ! dans le mot des propriétés. ! if ((type == cell) and (cellname == 'LOGO')) then screen_relative = true endif
screening
Le mot-clé screening permet de demander qu'une couleur soit "délavée" dans le document imprimé. Alors qu'un flltrage de 100% imprime la couleur telle quelle, un filtrage de de 50% par exemple place une couleur à mi-chemin vers le blanc. Ce mot-clé peut servir à économiser de l'encre ou à estomper les éléments tracés dans cette couleur.
Syntaxe :
screening = integer
(sachant que l'entier est compris dans l'intervalle 1 à 99)
Exemple :
! ! Si l'élément est une ellipse, définissez un filtrage égal à 50 %. if (type == ellipse) then screening = 50 endif
taille
Le mot-clé size sert à modifier la taille d'éléments de texte et de nœuds de texte.
Syntaxe :
size = working units
Exemple :
! ! Définir la taille de texte des éléments de texte du niveau 1. ! if ((type == text) and (level == 1)) then size = 0:0:250 endif
style
Le mot-clé style modifie le style de trait de l'élément actuel. Spécifiez un nouveau style en affectant à l'élément un index dans la plage 0 à 7, qui correspond à l'un des types de style MicroStation prédéfinis. On peut utiliser un style de trait personnalisé en indiquant son nom dans une bibliothèque ou en indiquant une série de transitions activées et désactivées. Définir le style n'a aucun effet sur les éléments remplis par une surface ou remplis par un motif si l'affichage de la limite n'est pas activé. Par défaut, l'affichage de la limite est désactivé.
Remarque : Si vous utilisez un style ou une définition de style nommés, le style de trait utilisé avec le mot-clé de comparaison de style ne change pas.
Syntaxe :
style = integer
(sachant que l'entier est un indice de style de trait compris entre 0 et 7)
style = "string"
(sachant que la chaîne est un nom de style de trait présent dans une bibliothèque de styles de traits nommée DesignScriptStyles.slb fournie dans le dossier défini par MS_DATA)
style = line style definition
(activé, désactivé, activé, désactivé…)
Exemple :
! ! Définissez le style de l'élément en fonction de sa couleur à l'aide des ! différentes méthodes de définition d'un style de trait. ! units = mm switch (color) case 1 ? style = 3 case 2 ? style = 'dash-dot' case 3 ? style = (0.5, 0.3, 0.75, 0.3) endswitch
style_n
(Où n est une valeur numérique comprise entre 1 et 7)
Les mots-clés style_n modifient les définitions du modèle plume haute / plume basse pour les sept styles de ligne standard. Ces mots-clés d'affectation de script de dessin remplacent les motifs de style de trait définis dans le fichier de configuration du pilote d'imprimante (.pltcfg). Le modèle peut être spécifié en utilisant le nom d'un style de trait défini dans la bibliothèque des styles de trait ou en indiquant une série de transitions activées et désactivées. Cette syntaxe est identique au mot-clé d'affectation style .
Syntaxe :
style_<numéro> = "chaîne"
(où le nombre est une valeur de 1 à 7, et la chaîne un nom de style de trait dans le/la DesignScriptStyles.slb bibliothèque de styles de trait livrée dans le dossier défini par MS_DATA)
style_<numéro> = définition de style de trait
(où le nombre est une valeur de 1 à 7, et la définition de style de trait est un modèle en fonction, hors fonction, en fonction, hors fonction, etc., utilisant les unités des scripts de conception)
Pour des éléments simples tels que lignes et formes, les mots-clésstyle et style_n produisent les mêmes résultats. Le mot-clé style permet d'affecter un modèle différent sur une base par élément. Cependant, une fois appliquée à un élément composé avec plusieurs styles de trait, comme une cote ou un élément multiligne, l'affectation de style modifie le style de chaque ligne à l'intérieur de l'élément. Les affectations style_n permettent de spécifier le modèle des sept styles de ligne standard sans modifier les numéros de style dans les éléments composés.
Exemple :
! ! Spécifiez le modèle pour les sept styles de trait standard en fonction de la taille du papier. ! units = inches if (first_time) then if (ip_xsize_num > 17) then style_1 = (0.03, 0.03) style_2 = (0.062, 0.062) style_3 = (0.125, 0.062) style_4 = (0.125, 0.062, 0.03, 0.062) style_5 = (0.045, 0.045) style_6 = (0.125, 0.062, 0.03, 0.062, 0.03, 0.062) style_7 = (0.0125, 0.045, 0.062, 0.045) else style_1 = (0.0225, 0.0225) style_2 = (0.0465, 0.0465) style_3 = (0.09375, 0.0465) style_4 = (0.09375, 0.0465, 0.0225, 0.0465) style_5 = (0.03375, 0.03375) style_6 = (0.09375, 0.0465, 0.0225, 0.03375, 0.0225, 0.03375) style_7 = (0.009375, 0.03375, 0.0465, 0.03375) endif endif
libellés
Les mots-clés d'affectations TAG_SET et TAG_NAME permettent de désigner le jeu de libellés et le nom du label pour utilisation ultérieure par l'un des mots-clés de comparaison.
Types de données :
Exemple :
! ! En partant de l'hypothèse que le fichier de conception utilise deux jeux de libellés, ! « Adresse personnelle » et « Adresse professionnelle », chaque ! contenant un label de caractère nommé « Ville », ! modifie la couleur de tous les éléments dont les balises ! indiquent comme adresse personnelle « Bordeaux » ou comme ! adresse professionnelle « Toulouse »." ! ! Commencez par rechercher les indicateurs « City » appartenant à l'ensemble d'indicateurs ! "Home address". ! tag_set = 'Home address' tag_name = 'City' if (tag_char == 'Huntsville') then color = 4 endif ! Rechercher maintenant les libellés dans le jeu de libellés « Adresse professionnelle » !. Notez que le nom du label est toujours "Ville". tag_set = 'Work address' if (tag_char == 'Madison') then color = 4 endif
épaisseur
Le mot-clé thickness permet d'indiquer la largeur de trait en unités physiques au lieu d'une épaisseur de trait. La valeur unitaire stockée dans la définition d'impression est la valeur par défaut du mot-clé thickness, mais peut se modifier dans le script de conception au moyen du mot-clé units. Indiquer une épaisseur ne modifie pas l'épaisseur utilisée par le mot-clé de comparaison d'épaisseur.
Syntaxe :
thickness = positive real number
Exemple :
! ! Définissez l'épaisseur du trait en fonction de la couleur de l'élément. ! units = inches switch (color) case 1 - 5 ? thickness = 0.125 case 6 - 10 ? thickness = 0.075 default ? thickness = 0.05 endswitch
translucent
Si le mot clé translucent est réglé sur vrai, l'élément actuel est tracé de telle sorte que tout élément situé en dessous ne soit pas totalement masqué. La valeur par défaut de ce mot-clé est faux. Le mot-clé translucent affecte uniquement les éléments non remplis et les limites d'éléments remplis si les limites sont activées. Le mot-clé translucent n'est valable ni pour les dispositifs vectoriels, ni pour les périphériques gérés par des pilotes d'imprimante Microsoft.
Remarque : Le mot-clé translucent agit comme le nouveau mot-clé transparency avec une valeur de 50. Il affecte à la fois les éléments remplis et non remplis et les limites d'éléments remplis si les limites sont activées. Pour plus d'informations, voir le mot-clé transparency.
Syntaxe :
translucent = true translucent = false
Exemple :
! ! Tracez les éléments de niveau 10 avec des traits rouges de forte épaisseur ! et laissez les éléments sous ! apparaître. ! if (level == 10) then color = "red" weight = 10 translucent = true endif
translucent_fill
Si cette option est réglée sur vrai, le mot-clé translucent_fill indique que la couleur de remplissage des éléments remplis avec une surface ou un motif est translucide. Les couleurs de premier plan et d'arrière-plan des éléments remplis avec un motif sont toutes deux translucides. Les éléments situés sous un élément rempli translucide sont toujours visibles. La valeur par défaut de ce mot-clé est faux. Le mot-clé translucent_fill n'est valable ni pour les dispositifs vectoriels, ni pour les périphériques gérés par des pilotes d'imprimante Microsoft.
Remarque : Le mot-clé translucent_fill agit comme le nouveau mot-clé transparency avec une valeur de 50. Il affecte à la fois les éléments non remplis, remplis avec une surface et remplis avec un motif ainsi que les limites des éléments remplis si les limites sont activées. Pour plus d'informations, voir le mot-clé transparency.
Syntaxe :
translucent_fill = true translucent_fill = false
Exemple :
! ! Définissez la couleur de remplissage comme transparente. ! area_fill = true translucent_fill = true fill_color = (255,0,0)
transparency
Le mot-clé d'affectation transparency permet de définir la transparence de l'élément actuel. Vous pouvez régler la valeur de transparence entre 1 à 100. Plus la valeur est élevée, plus l'élément est transparent.
Syntaxe :
transparency = value
(où la valeur est 1-100)
Exemple :
! ! Définissez la transparence pour les lignes au niveau 2. ! if ((level eq 2) and (type eq line)) then transparency = 50 endif
units
Le mot-clé units permet d'indiquer la cote de mots-clés tels que l'épaisseur et les styles de trait. Définissez toujours le mot-clé units au début du script de conception, et ne le définissez qu'une seule fois dans un script de conception. La valeur par défaut du mot-clé est la valeur unitaire de la définition d'impression.
Syntaxe :
units = units_constant
sachant que units_constant est l'une des options suivantes :
Exemple :
! ! Définissez l'épaisseur du trait sur 0,5 millimètres. ! units = mm thickness = 0.5
épaisseur
Le mot-clé épaisseur modifie l'épaisseur de trait de l'élément actuel. Pour les éléments remplis, boundary_display doit être activé pour que ce mot-clé affecte la limite d'élément.
Syntaxe :
weight = integer
(sachant que l'entier est compris dans l'intervalle 0 à 31)
Exemple :
! ! Définissez le poids du trait en fonction de la couleur de l'élément. ! switch (color) case 1-10 ? weight = 2 case 11-20 ? weight = 1 default ? weight = 0 endswitch
weight_base/weight_delta
Les mots-clés weight_base et weight_delta appliquent les épaisseurs de trait aux épaisseurs physiques sur le tracé. A l'aide de ces mots-clés, vous pouvez obtenir des épaisseurs de trait cohérentes sur divers traceurs. Le mot-clé weight_base spécifie l'épaisseur du trait d'un élément d'épaisseur 0. Le mot-clé weight_delta spécifie une augmentation d'épaisseur de trait supplémentaire à ajouter à chaque épaisseur de trait supérieure à 0. Utilisez la formule suivante pour calculer l'épaisseur du trait à l'aide des mots-clés weight_base et weight_delta :
épaisseur de tracé = weight_base + (épaisseur de l'élément * weight_delta)
Par exemple, si weight_base est de 0,1 cm et weight_delta de 0,05 cm, les valeurs suivantes sont appliquées.
Remarque : Vous devez définir les mots-clés weight_base et weight_delta au début du script de conception.
Syntaxe :
weight_base = positive_real weight_delta = positive_real
Exemple :
! ! Mappez le poids du trait de l'élément à une épaisseur sur ! le tracé. ! weight 0 = 0.10 mm ! weight 1 = 0.15 mm ! weight 2 = 0.20 mm ! weight 3 = 0.25 mm ! . ! . ! . ! weight 31 = 1.65 mm units = mm weight_base = 0.1 weight_delta = 0.05